package com.resifind.www.dao;

import com.resifind.www.po.User;

import java.sql.Connection;
import java.sql.SQLException;

/**
 * @author 36069
 */
public interface UserDao {

    /**
     * 添加用户表, 并返回用户id
     * <p>
     * 需要与添加客户或商户的方法配合调用
     * </p>
     *
     * @param user 用户对象，包含手机号和密码
     * @param conn 数据库连接
     * @return 用户id
     * @throws SQLException SQL异常
     */
    int addUser(User user, Connection conn) throws SQLException;

    /**
     * 根据手机号查询用户
     *
     * @param phoneNum 手机号
     * @return 用户对象
     */
    User queryUser(String phoneNum);

    /**
     * 判断用户类型
     *
     * @param id 用户id
     * @return 用户类型
     */
    String queryUserTypeById(int id);

    /**
     * 修改密码
     *
     * @param userId       用户id
     * @param hashPassword 哈希后的新密码
     * @param salt         新盐
     * @param conn         数据库连接
     * @return 是否修改成功
     */
    boolean updatePassword(int userId, String hashPassword, String salt, Connection conn);
}
